#ifndef SQLMGR_H
#define SQLMGR_H
#include<QtDebug>
#include<QSqlDatabase>
#include<QSql>
#include<QMessageBox>
#include<QtSql/QSqlError>
#include<QCoreApplication>
#include<QSqlQuery>
#include<QSqlRecord>
#include<QStandardPaths>
#include<QDir>
class Sqlmgr
{
public:
    Sqlmgr();
    ~Sqlmgr();
    static Sqlmgr *ptrstumysql;//调用数据库连接的指针
    static Sqlmgr *getinstance()//承接唯一实例,也就只要数据库没关就能一直用
    {
        if(nullptr==ptrstumysql)
        {
            ptrstumysql=new Sqlmgr;
        }
        return ptrstumysql;
    }
    //初始化数据库连接
    void init();

    //登录
    bool login(QString strUser, QString strPassword, int &Userid);

    //获取所有用户
    QVector<QStringList> getUser(QString strCondition="");

    //添加用户
    void addUser(QVector<QStringList> v);

    //修改用户
    void updateUser(QStringList ldata);

    //搜索用户
    void searchUser(QString strId);

    //删除用户
    void delUser(QString strId);

    //获取所有图书
    QVector<QStringList> getBook(QString strCondition="");

    //增加图书
    void addBook(QVector<QStringList> v);

    //修改图书
    void updateBook(QStringList ldata);

    //根据图书id查询图书名称
    QString searchBook(int id);

    //删除图书
    QString delBook(QString strID);

    //图书归还
    QString returnBook(QString strUserId,QString strBookId);

    //图书借阅
    QString borrowBook(QString strUserId,QString strBookId);

    //获取借阅记录
    QVector<QStringList> getRecord(QString strCondition="");

    //清空借阅记录
    void clearRecord();


private:
    QSqlDatabase db;
};

#endif // SQLMGR_H
